package com.he.hsdyc.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class Order implements Serializable {
    /**
     * 
     */
    private Long id;

    /**
     * 学生id
     */
    private Long stuId;

    /**
     * 订单编号
     */
    private String code;

    /**
     * 订单总金额
     */
    private BigDecimal amount;

    /**
     * 0现金 1支付宝 2 微信
     */
    private Integer payType;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 状态（0未支付/1交易成功/2交易关闭/3业务关闭）
     */
    private Integer status;

    /**
     * 签单人
     */
    private Long createUserId;

    /**
     * 签单时间
     */
    private Date createTime;

    /**
     * 种类（0新单/1续费/2预付款/3定金）
     */
    private Integer orderType;

    /**
     * 学生校区
     */
    private Long schoolId;

    /**
     * 优惠后金额
     */
    private BigDecimal discount;

    /**
     * 余款
     */
    private BigDecimal balance;

    /**
     * 0 余款未结清 1余款已结清
     */
    private Integer balanceType;

    /**
     * 签名图片
     */
    private String autograph;

    /**
     * 0：Pad；1：微信；2：后台；
     */
    private Integer platform;

    /**
     * 备注
     */
    private String notes;

    /**
     * 打印发票备注
     */
    private String content;

    /**
     * 换班、换老师的时间
     */
    private Date changeTime;

    /**
     * 是否删除
     */
    private Boolean isdel;

    /**
     * 关联预报名订单的父类id
     *
     */
    private Long pid;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getStuId() {
        return stuId;
    }

    public void setStuId(Long stuId) {
        this.stuId = stuId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public BigDecimal getDiscount() {
        return discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public Integer getBalanceType() {
        return balanceType;
    }

    public void setBalanceType(Integer balanceType) {
        this.balanceType = balanceType;
    }

    public String getAutograph() {
        return autograph;
    }

    public void setAutograph(String autograph) {
        this.autograph = autograph;
    }

    public Integer getPlatform() {
        return platform;
    }

    public void setPlatform(Integer platform) {
        this.platform = platform;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Date getChangeTime() {
        return changeTime;
    }

    public void setChangeTime(Date changeTime) {
        this.changeTime = changeTime;
    }

    public Boolean getIsdel() {
        return isdel;
    }

    public void setIsdel(Boolean isdel) {
        this.isdel = isdel;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public int getLj() {
        return lj;
    }

    public void setLj(int lj) {
        this.lj = lj;
    }

    private int lj;


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Order order = (Order) o;

        return id.equals(order.id);
    }

    @Override
    public int hashCode() {
        return id.hashCode();
    }
}